package org.jeecg.modules.student.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.student.vo.StuStudentVo;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: stu_student
 * @author: baochangrong
 * @Date:   2022-02-15
 * @Version: V1.0
 */
@Data
@TableName("stu_student")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="stu_student模板文件导出对象", description="stu_student")
public class StuStudentDemo implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键ID*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键ID")
    private String id;
	/**学生学号*/
	@Excel(name = "学生学号", width = 15)
	@ApiModelProperty(value = "学生学号")
	private String studentNo;
	/**学生姓名*/
	@Excel(name = "学生姓名", width = 15)
    @ApiModelProperty(value = "学生姓名")
    private String studentName;
	/**学生显示顺序*/
	@Excel(name = "排序号", width = 15)
	@ApiModelProperty(value = "排序号")
	private String studentOrder;
	/**身份证号*/
	@Excel(name = "身份证号", width = 15)
    @ApiModelProperty(value = "身份证号")
    private String studentIdCardNo;
	/**学籍号*/
	@Excel(name = "学籍号", width = 15)
	@ApiModelProperty(value = "学籍号")
	private java.lang.String studentNationalityNo;
	/**学生性别*/
	@Excel(name = "学生性别(1男 2女)", width = 15)
    @ApiModelProperty(value = "学生性别")
    private Integer studentGender;
	/**出生年月*/
	@Excel(name = "出生年月", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "出生年月")
    private Date studentDateBirth;
	/**民族*/
	@Excel(name = "民族", width = 15)
    @ApiModelProperty(value = "民族")
    private Integer studentNation;
	/**联系电话*/
	@Excel(name = "联系电话", width = 15)
    @ApiModelProperty(value = "联系电话")
    private String studentTelephone;
	/**入学年份*/
	@Excel(name = "入学年份", width = 15)
    @ApiModelProperty(value = "入学年份")
    private String studentEnrollmentYear;
	/**卡号*/
	@Excel(name = "卡号", width = 15)
	@ApiModelProperty(value = "卡号")
	private String studentCardNo;
	/**学生微信*/
	@Excel(name = "学生微信", width = 15)
    @ApiModelProperty(value = "学生微信")
    private String studentWechat;
	/**学生邮箱*/
	@Excel(name = "学生邮箱", width = 15)
    @ApiModelProperty(value = "学生邮箱")
    private String studentEmail;
	/**学生QQ*/
	@Excel(name = "学生QQ", width = 15)
    @ApiModelProperty(value = "学生QQ")
    private String studentQq;
	/**身高*/
	@Excel(name = "身高", width = 15)
    @ApiModelProperty(value = "身高")
    private Double studentHeight;
	/**体重*/
	@Excel(name = "体重", width = 15)
    @ApiModelProperty(value = "体重")
    private Double studentWeight;
	/**视力*/
	@Excel(name = "视力", width = 15)
    @ApiModelProperty(value = "视力")
    private Double studentVision;
	/**来源学校*/
	@Excel(name = "来源学校", width = 15)
    @ApiModelProperty(value = "来源学校")
    private String studentFromSchool;
	/**毕业去向*/
	@Excel(name = "毕业去向", width = 15)
    @ApiModelProperty(value = "毕业去向")
    private String studentGraduationDestination;
	/**户籍地址*/
	@Excel(name = "户籍地址", width = 15)
    @ApiModelProperty(value = "户籍地址")
    private String studentHouseholdRegister;
	/**生源地*/
	@Excel(name = "生源地", width = 15)
    @ApiModelProperty(value = "生源地")
    private String studentPlaceOrigin;
	/**现住地址*/
	@Excel(name = "现住地址", width = 15)
    @ApiModelProperty(value = "现住地址")
    private String studentCurrentAddress;
	/**学生类型（1正常升学，2留级，3跳级）*/
	@Excel(name = "学生类型（1正常升学，2留级，3跳级）", width = 15)
    @ApiModelProperty(value = "学生类型（1正常升学，2留级，3跳级）")
    private Integer studentTtype;
	/**家庭状态（1正常，2离异，3单亲(丧)，4孤）*/
	@Excel(name = "家庭状态（1正常，2离异，3单亲(丧)，4孤）", width = 15)
    @ApiModelProperty(value = "家庭状态（1正常，2离异，3单亲(丧)，4孤）")
    private Integer studentFamilyStatus;
	/**是否贫困生*/
	@Excel(name = "是否贫困生", width = 15)
    @ApiModelProperty(value = "是否贫困生")
    private Integer studentPoor;
	/**贫困级别*/
	@Excel(name = "贫困级别", width = 15)
    @ApiModelProperty(value = "贫困级别")
    private Integer studentPoorLevel;
	/**是否借读生*/
	@Excel(name = "是否借读生", width = 15)
    @ApiModelProperty(value = "是否借读生")
    private Integer studentLoan;
	/**特殊标识*/
	@Excel(name = "特殊标识", width = 15)
    @ApiModelProperty(value = "特殊标识")
    private Integer studentSpecialFlag;
	/**紧急联系人*/
	@Excel(name = "紧急联系人", width = 15)
    @ApiModelProperty(value = "紧急联系人")
    private String studentEmergencyContact;
	/**紧急人联系电话*/
	@Excel(name = "紧急人联系电话", width = 15)
    @ApiModelProperty(value = "紧急人联系电话")
    private String studentEmergencyTelephone;
	/**学生状态(1正常，2休学，3退学，4转出，5转入，6毕业）*/
	@Excel(name = "学生状态(1正常，2休学，3退学，4转出，5转入，6毕业）", width = 15)
    @ApiModelProperty(value = "学生状态(1正常，2休学，3退学，4转出，5转入，6毕业）")
    private Integer studentStatus;
	/**备注*/
	@Excel(name = "备注", width = 15)
	@ApiModelProperty(value = "备注")
	private String studentRemark;
	/**是否启用*/
	//@Excel(name = "是否启用", width = 15, dicCode = "iz_open")
	@Dict(dicCode = "iz_open")
    @ApiModelProperty(value = "是否启用")
    private Integer studentIzOpen=1;
	/**部门编码*/
	//@Excel(name = "部门编码", width = 15)
	@ApiModelProperty(value = "部门编码")
	private String sysOrgCode;
	/**学校编码（租户id）*/
	//@Excel(name = "学校编码（租户id）", width = 15)
	@ApiModelProperty(value = "学校编码（租户id）")
	private String tenantId;
	/**用户id*/
	//@Excel(name = "用户id）", width = 15)
	@ApiModelProperty(value = "用户id")
	private String userId;

	/**是否删除*/
	//@Excel(name = "是否删除", width = 15)
    @ApiModelProperty(value = "是否删除")
	@Dict(dicCode = "iz_delete")
    private Integer studentIzDelete=0;
	/**createTime*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "createTime")
    private Date createTime;
	/**导入批次*/
	@Excel(name = "导入批次", width = 15)
	@ApiModelProperty(value = "导入批次")
	private java.lang.String batchNumber;

	/**年级*/
	@Excel(name = "年级", width = 15)
	@ApiModelProperty(value = "年级")
//	@Dict(dicCode = "id",dicText = "grade_name",dictTable = "cou_grade")
	private java.lang.String gradeId;
}
